Next: Commands of GUD, Previous: Starting GUD, Up: Debuggers [Contents][Index]
The GUD interaction buffer is an Emacs buffer which is used to send text commands to a debugger subprocess, and record its output. This is the basic interface for interacting with a debugger, used by M-x gud-gdb and other commands listed in Starting GUD. The M-x gdb command extends this interface with additional specialized buffers for controlling breakpoints, stack frames, and other aspects of the debugger state (see GDB Graphical Interface).
The GUD interaction buffer uses a variant of Shell mode, so the Emacs commands defined by Shell mode are available (see Shell Mode). Completion is available for most debugger commands (see Completion), and you can use the usual Shell mode history commands to repeat them. See Commands of GUD, for special commands that can be used in the GUD interaction buffer.
As you debug a program, Emacs displays the relevant source files by visiting them in Emacs buffers, with an arrow in the left fringe indicating the current execution line. (On a text terminal, the arrow appears as ‘=>’, overlaid on the first two text columns.) Moving point in such a buffer does not move the arrow. You are free to edit these source files, but note that inserting or deleting lines will throw off the arrow’s positioning, as Emacs has no way to figure out which edited source line corresponds to the line reported by the debugger subprocess. To update this information, you typically have to recompile and restart the program.
GUD Tooltip mode is a global minor mode that adds tooltip
support to GUD. To toggle this mode, type M-x
gud-tooltip-mode. It is disabled by default. If enabled,
you can move the mouse cursor over a variable, a function, or a
macro (collectively called identifiers) to show their
values in tooltips (see Tooltips). Alternatively, mark an
identifier or an expression by dragging the mouse over it, then
leave the mouse in the marked area to have the value of the
expression displayed in a tooltip. The GUD Tooltip mode takes
effect in the GUD interaction buffer, and in all source buffers
with major modes listed in the variable
gud-tooltip-modes. If the variable
gud-tooltip-echo-area is non-nil, or if
you turned off the tooltip mode, values are shown in the echo
area instead of a tooltip.
When using GUD Tooltip mode with M-x gud-gdb,
displaying an expression’s value in GDB can sometimes
expand a macro, potentially causing side effects in the debugged
program. For that reason, using tooltips in gud-gdb
is disabled. If you use the M-x gdb interface, this
problem does not occur, as there is special code to avoid
side-effects; furthermore, you can display macro definitions
associated with an identifier when the program is not
executing.
Next: Commands of GUD, Previous: Starting GUD, Up: Debuggers [Contents][Index]